home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_10_10 / 1010058a < prev    next >
Text File  |  1992-08-08  |  454b  |  20 lines

  1. /*  FILE: crc32.c
  2.     DATE: 910917:1824
  3.     LMOD: 911202:1147
  4.     FOR:  crc-32 of a named file (Microsoft C)
  5. */
  6. #include <fcntl.h>
  7. #include <io.h>
  8.  
  9. /* Given a filename and a buffer, produce a CRC */
  10. long crc32(char *fn,char *buf,int len)
  11. {
  12.     int fd,rd; long crc,upd32();
  13.     if((fd = open(fn,O_BINARY|O_RDONLY)) < 0)
  14.         return(0);
  15.     for(crc = 0xffffffffL; (rd = read(fd,buf,len)) > 0;
  16.     crc = upd32(crc,buf,rd)) ;
  17.     close(fd);
  18.     return(~crc);
  19. }
  20.